import {Component, OnInit} from '@angular/core';

@Component({
  selector: 'app-backend-sidebar',
  templateUrl: './backend-side-bar.component.html',
  styleUrls: ['./backend-slide-bar.component.scss']
})
export class BackendSideBarComponent implements OnInit {
  userData = [];
  userCollapse = false;
  navData = [];
  nav = {};

  constructor() {
  }

  toggleUser() {
    this.userCollapse = !this.userCollapse;
  }

  toggleNav(targetName) {
    if (typeof this.nav[targetName] === 'undefined') {
      this.nav[targetName] = true;
    } else {
      this.nav[targetName] = !this.nav[targetName];
    }
  }

  ngOnInit() {
    this.userData = [
      {
        'path': '/admin/my-profile',
        'sortName': 'MP',
        'name': 'My Profile'
      },
      {
        'path': '/admin/edit-profile',
        'sortName': 'EP',
        'name': 'Edit Profile'
      },
      {
        'path': '/admin/setting',
        'sortName': 'S',
        'name': 'Settings'
      }
    ];
    this.navData = [
      {
        'path': '/admin/dashboard',
        'name': 'Dashboard',
        'icon': 'fa fa-th-large'
      },
      {
        'path': '/admin/member',
        'name': 'Member',
        'icon': 'fa fa-th-large'
      },
      {
        'path': '',
        'name': 'Components',
        'icon': 'fa fa-th',
        'collapse': [
          {
            'path': '/admin/component/buttons',
            'sortName': 'B',
            'name': 'Buttons'
          },
          {
            'path': '/admin/component/grid',
            'sortName': 'GS',
            'name': 'Grid System'
          },
          {
            'path': '/admin/component/panels',
            'sortName': 'P',
            'name': 'Panels'
          },
          {
            'path': '/admin/component/sweet-alert',
            'sortName': 'SA',
            'name': 'Sweet Alert'
          },
          {
            'path': '/admin/component/notifications',
            'sortName': 'N',
            'name': 'Notifications'
          },
          {
            'path': '/admin/component/icons',
            'sortName': 'I',
            'name': 'Icons'
          },
          {
            'path': '/admin/component/typography',
            'sortName': 'T',
            'name': 'Typography'
          }
        ]
      },
      {
        'path': '',
        'name': 'Forms',
        'icon': 'fa fa-th',
        'collapse': [
          {
            'path': '/admin/forms/regular',
            'sortName': 'RF',
            'name': 'Regular Forms'
          },
          {
            'path': '/admin/forms/extended',
            'sortName': 'EF',
            'name': 'Extended Forms'
          },
          {
            'path': '/admin/forms/validation',
            'sortName': 'VF',
            'name': 'Validation Forms'
          },
          {
            'path': '/admin/forms/wizard',
            'sortName': 'W',
            'name': 'Wizard'
          }
        ]
      },
      {
        'path': '',
        'name': 'Tables',
        'icon': 'fa fa-th',
        'collapse': [
          {
            'path': '/admin/tables/regular',
            'sortName': 'RT',
            'name': 'Regular Tables'
          },
          {
            'path': '/admin/tables/extended',
            'sortName': 'ET',
            'name': 'Extended Tables'
          },
          {
            'path': '/admin/tables/validation',
            'sortName': 'DT',
            'name': 'DataTables'
          }
        ]
      },
      {
        'path': '',
        'name': 'Maps',
        'icon': 'fa fa-th',
        'collapse': [
          {
            'path': '/admin/maps/google',
            'sortName': 'GM',
            'name': 'Google Maps'
          },
          {
            'path': '/admin/maps/full-screen',
            'sortName': 'FSM',
            'name': 'Full Screen Map'
          },
          {
            'path': '/admin/maps/vector',
            'sortName': 'VM',
            'name': 'Vector Map'
          }
        ]
      },
      {
        'path': '/admin/widgets',
        'name': 'Widgets',
        'icon': 'fa fa-th'
      },
      {
        'path': '/admin/charts',
        'name': 'Charts',
        'icon': 'fa fa-th'
      },
      {
        'path': '/admin/calendar',
        'name': 'Calendar',
        'icon': 'fa fa-th'
      },
      {
        'path': '',
        'name': 'Pages',
        'icon': 'fa fa-th',
        'collapse': [
          {
            'path': '/admin/pages/pricing',
            'sortName': 'P',
            'name': 'Pricing'
          },
          {
            'path': '/admin/pages/timeline',
            'sortName': 'TLP',
            'name': 'Time Line Page'
          },
          {
            'path': '/login',
            'sortName': 'LP',
            'name': 'Login Page'
          },
          {
            'path': '/register',
            'sortName': 'RP',
            'name': 'Register Page'
          },
          {
            'path': '/admin/pages/lock',
            'sortName': 'LSP',
            'name': 'Lock Screen Page'
          },
          {
            'path': '/admin/pages/user',
            'sortName': 'UP',
            'name': 'User Page'
          }
        ]
      },
      {
        'path': '/admin/documentation/tutorial',
        'name': 'Documentation',
        'icon': 'fa fa-th'
      }
    ];
    this.nav = {
      'Components': false,
      'Forms': false,
      'Tables': false,
      'Maps': false,
      'Pages': false,
    };
  }
}
